


#include <Windows.h>


namespace sd
{
namespace tools
{
namespace exetodll
{


class ConvertedFile
{};






class Convertor
{
class OtherFile : public ConvertedFile
{
};
class CurrentFile : public ConvertedFile
{
};



public:

/*
Create copy of exe file with dll PE
EntryPoint - Entry Point for dll
LifeTime - Live time for dll, if ltClass - dll wiil be release on object destroyed
							  if ltFree  - dll not destroyed
from - exe file for converting, if empty string - use current file							  
to   - copy file, by default - only change extension from exe to dll
*/
shared_ptr<ConvertedFile> CreateCopyFile( EntryPoint, LifeTime, const std::string& from="", const std::string& to="" );
/*
Change PE table from exe file to dll PE
EntryPoint - Entry Point for dll
LifeTime - Live time for dll, if ltClass - dll wiil be release on object destroyed
							  if ltFree  - dll not destroyed
from - exe file for converting, if empty string - use current file							  
*/
shared_ptr<ConvertedFile> ChangeInFile  ( EntryPoint, LifeTime, const std::string& from="" );










};














}//exetodll
}//tools
}//sd
